﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Athena.RouteAddress
{
    public interface IServiceMultipleRouteManager
    {
        event EventHandler<ServiceMultipleRouteEventArgs> Created;

        event EventHandler<ServiceMultipleRouteEventArgs> Changed;

        event EventHandler<ServiceMultipleRouteEventArgs> Removed;

        Task<IEnumerable<ServiceMultipleRoute>> GetServiceMultipleRouteAsync();

        Task SetServiceMultipleRoutesAsync(IEnumerable<ServiceMultipleRoute> serviceMultipleRoutes);

        Task ClearAsync();
    }
}
